﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using Entidades;

namespace Datos
{
    public class MySqlConductorDao:IUsuario
    {
         MySqlConnection conector = new MySqlConnection();
        string connectionString;
        public string s;

        public void iniciarConexion()
        {
            try
            {
                connectionString = "Server=127.0.0.1;Database=justime;Uid=root; pwd=root;";
                conector.ConnectionString = connectionString;
                conector.Open();
                s = "La conexion se ha realizado con exito";

            }
            catch
            {
                s = "Ocurrio un error al intentar conectarse";
            }

        }
        public void Conectar()
        {
            iniciarConexion();
        }

        public void Desconectar()
        {
            conector.Close();
        }

        public void Insertar(Usuario u)
        {
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "insert into usuario Values(?Cedula,?pnombre,?snombre,?papellido,?sapellido,?direccion,?email,?telefono,)";
            cmd.Parameters.AddWithValue("?Cedula", u.Cedula);
            cmd.Parameters.AddWithValue("?pnombre", u.PNombre);
            cmd.Parameters.AddWithValue("?snombre", u.SNombre);
            cmd.Parameters.AddWithValue("?papellido", u.PApellido);
            cmd.Parameters.AddWithValue("?sapellido", u.SApellido);
            cmd.Parameters.AddWithValue("?direccion", u.Direccion);
            cmd.Parameters.AddWithValue("?email", u.Email);
            cmd.Parameters.AddWithValue("?telefono", u.telefono);
            
            s = cmd.CommandText;
            cmd.ExecuteNonQuery();
        }
        public List<Usuario> getTodos()
        {
            List<Usuario> lst = new List<Usuario>();
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "Select * From usuario";
            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                Usuario c = new Conductor();
                c.Cedula = reader["cedula"].ToString();
                c.SNombre = reader["snombre"].ToString();
                c.PNombre = reader["pnombre"].ToString();
                c.PApellido = reader["papellido"].ToString();
                c.SApellido = reader["sapellido"].ToString();
                c.Direccion = reader["direccion"].ToString();
                c.Email = reader["email"].ToString();
                c.telefono = reader["telefono"].ToString();
                lst.Add(c);
            }
            return lst;
        }

        public void actualizar(Usuario u)
        {
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "UPDATE usuario SET pnombre=?pnombre, snombre=?snombre, papellido=?papellido, sapellido=?sapellido, direccion=?direccion, email=?email, telefono=?telefono WHERE cedula=?Cedula;";
            cmd.Parameters.AddWithValue("?Cedula", u.Cedula);
            cmd.Parameters.AddWithValue("?pnombre", u.PNombre);
            cmd.Parameters.AddWithValue("?snombre", u.SNombre);
            cmd.Parameters.AddWithValue("?papellido", u.PApellido);
            cmd.Parameters.AddWithValue("?sapellido", u.SApellido);
            cmd.Parameters.AddWithValue("?direccion", u.Direccion);
            cmd.Parameters.AddWithValue("?email", u.Email);
            cmd.Parameters.AddWithValue("?telefono", u.telefono);
            cmd.ExecuteNonQuery();
        }
        public void Eliminar(Usuario u)
        {
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "DELETE FROM usuario WHERE cedula=?Cedula;";
            cmd.Parameters.AddWithValue("?Cedula", u.Cedula);
            cmd.ExecuteNonQuery();

        }


        public string ConsultarClave(Usuario u)
        {
            throw new NotImplementedException();
        }

        public string ConsultarUsuario(Usuario u)
        {
            throw new NotImplementedException();
        }


        public string ConsultarEmail(string email)
        {
            throw new NotImplementedException();
        }


        public string ConsultarTipoUsuario(Usuario u)
        {
            throw new NotImplementedException();
        }


        public string ConsultarUsuario(string email)
        {
            throw new NotImplementedException();
        }


        public Usuario getUsuario(string email)
        {
            throw new NotImplementedException();
        }
    }
}
